import pandas as pd
import matplotlib.pyplot as plt

# 步骤1: 读取CSV文件
df = pd.read_csv('baby_sleep.csv')

# 步骤2: 数据清洗
# 检查缺失值
print(df.isnull().sum())

# 填充或删除缺失值
# df = df.dropna()  # 删除缺失值
# 或者
df.fillna('Nothing', inplace=True)  # 前向填充

# 步骤3: 数据探索
# 描述性统计分析
print(df.describe())

# 步骤4: 数据可视化
# 绘制直方图查看数值型特征分布
df.hist(figsize=(10,10))
plt.show()

# 绘制箱型图查看异常值
plt.boxplot([df['column_name']])
plt.show()

# 步骤5: 特征工程
# 根据需要创建新的特征或转换现有特征
# 例如，从日期中提取年份
df['year'] = pd.to_datetime(df['date_column']).dt.year

# 步骤6: 数据建模（如果需要）
# 从这里开始，你可能需要根据你的具体需求来选择合适的模型
# 例如，使用线性回归模型
from sklearn.linear_model import LinearRegression
# 假设'feature_column'是特征列，'target_column'是目标列
X = df[['feature_column']]
y = df['target_column']
model = LinearRegression()
model.fit(X, y)
predictions = model.predict(X)

# 保存模型结果
df['predictions'] = predictions
df.to_csv('predictions.csv', index=False)
print(df['Sleep Disorder'].head(100))

# 注意：以上代码是一个通用模板，你需要根据你的CSV文件的具体内容来调整代码。